package org.nanotek.cms.domain.lucene.config;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

import org.nanotek.AbstractBase;
import org.nanotek.Base;
import org.nanotek.Configuration;

/**
 * Not Yet Finished
 * @author josecanova
 *
 */
@SuppressWarnings("serial")
public class IndexConfiguration extends AbstractBase<Base<Long>> implements Configuration<IndexConfiguration, BaseMap<K,V>,AbstractBase<Base<Long>>> {


	private String path;
	private Long version;
	private Long openMode;
	private Long indexType;
	private Long analyzerType;
	private Date dataUpdate;
	private Date dateInsert;

	private Set<IndexConfigParameter<ParameterName , ParameterValue, Class<?>> indexConfigParameters;
	
	@Override
	public Serializable get() {
		return null;
	}

	@Override
	public void setId(Serializable id) {
	}

	@Override
	public Base getParameters() {
		return null;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public Long getVersion() {
		return version;
	}

	public void setVersion(Long version) {
		this.version = version;
	}

	public Long getOpenMode() {
		return openMode;
	}

	public void setOpenMode(Long openMode) {
		this.openMode = openMode;
	}

	public Long getIndexType() {
		return indexType;
	}

	public void setIndexType(Long indexType) {
		this.indexType = indexType;
	}

	public Date getDataUpdate() {
		return dataUpdate;
	}

	public void setDataUpdate(Date dataUpdate) {
		this.dataUpdate = dataUpdate;
	}

	public Date getDateInsert() {
		return dateInsert;
	}

	public void setDateInsert(Date dateInsert) {
		this.dateInsert = dateInsert;
	}
//
//	public Set<IndexConfigParameter> getIndexConfigParameters() {
//		return indexConfigParameters;
//	}
//
//	public void setIndexConfigParameters(
//			Set<IndexConfigParameter> indexConfigParameters) {
//		this.indexConfigParameters = indexConfigParameters;
//	}

	public Long getAnalyzerType() {
		return analyzerType;
	}

	public Set<IndexConfigParameter<Base<Long>>> getIndexConfigParameters() {
		return indexConfigParameters;
	}

	public void setIndexConfigParameters(
			Set<IndexConfigParameter<Base<Long>>> indexConfigParameters) {
		this.indexConfigParameters = indexConfigParameters;
	}

	public void setAnalyzerType(Long analyzerType) {
		this.analyzerType = analyzerType;
	}

}
